// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Découvrez le Nouveau Casino 1win : Jouez en Ligne depuis le Sénégal – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Découvrez le Nouveau Casino 1win : Jouez en Ligne depuis le Sénégal

Découvrez le Nouveau Casino 1win : Jouez en Ligne depuis le Sénégal

Tout ce que vous devez savoir sur le nouveau casino 1win au Sénégal

Découvrez tout ce que vous devez savoir sur le nouveau casino 1win au Sénégal. Le casino 1win est désormais disponible dans le pays et offre une large gamme de jeux de casino en ligne. Les joueurs peuvent profiter de machines à sous, de jeux de table, de vidéo poker et d’autres jeux populaires. Le casino propose également des bonus et des promotions intéressantes pour les nouveaux joueurs. Les dépôts et les retraits peuvent être effectués en utilisant les méthodes de paiement les plus populaires au Sénégal. Le casino 1win est autorisé et réglementé par les autorités compétentes, ce qui garantit la sécurité et la fiabilité des jeux. Rejoignez dès maintenant le casino 1win et tentez votre chance de gagner gros!

Comment commencer à jouer en ligne sur 1win au Sénégal

Si vous souhaitez commencer à jouer en ligne sur 1win depuis le Sénégal, voici les étapes à suivre :
1. Rendez-vous sur le site officiel de 1win et cliquez sur le bouton “S’inscrire”.
2. Remplissez le formulaire d’inscription en fournissant les informations nécessaires telles que votre nom, adresse e-mail et numéro de téléphone.
3. Choisissez le Sénégal comme votre pays de résidence et sélectionnez la devise que vous souhaitez utiliser pour vos dépôts et retraits.
4. Vérifiez votre compte en cliquant sur le lien envoyé à votre adresse e-mail.
5. Connectez-vous à votre compte et rendez-vous dans la section “Caisse” pour effectuer votre premier dépôt.
6. Choisissez une méthode de paiement qui est disponible dans votre région, comme Orange Money ou MTN Mobile Money.
7. Entrez le montant que vous souhaitez déposer et suivez les instructions pour finaliser la transaction.
8. Une fois que votre dépôt est confirmé, vous pouvez commencer à jouer à vos jeux de casino préférés sur 1win !

Les avantages de jouer sur le nouveau casino 1win au Sénégal

Si vous êtes à la recherche d’une expérience de casino en ligne excitante au Sénégal, le nouveau casino 1win est une option à considérer. Voici les avantages de jouer sur 1win :
1. Une large sélection de jeux de casino, y compris les machines à sous, la roulette, le blackjack et le poker.
2. Des bonus et des promotions généreux pour les nouveaux joueurs et les joueurs réguliers.
3. Un site web facile à naviguer, disponible en français et adapté aux joueurs mobiles.
4. Des options de paiement sécurisées et pratiques, y compris les cartes de crédit, les portefeuilles électroniques et les cryptomonnaies.
5. Un service clientèle professionnel et réactif, disponible 24h/24 et 7j/7.
6. Une licence de jeu valide et un engagement envers le jeu responsable.
7. Des tournois et des compétitions régulières pour gagner des prix en argent supplémentaires.
8. Un programme de fidélité récompensant les joueurs réguliers avec des avantages exclusifs.
Rejoignez dès maintenant le nouveau casino 1win et découvrez tous ces avantages par vous-même !

Découvrez le Nouveau Casino 1win : Jouez en Ligne depuis le Sénégal

Découvrez les jeux de casino en ligne proposés par 1win au Sénégal

Si vous êtes à la recherche de jeux de casino en ligne passionnants au Sénégal, ne cherchez pas plus loin que 1win. Découvrez une large sélection de jeux de casino en ligne, y compris des machines à sous, des jeux de table et des jeux de cartes. Jouez à vos jeux de casino préférés tels que le blackjack, la roulette et le baccarat, ou essayez quelque chose de nouveau et découvrez les dernières machines à sous en ligne. Avec 1win, vous pouvez jouer en ligne en toute sécurité et en toute confiance, sachant que vous bénéficiez d’une expérience de jeu équitable et transparente. Alors pourquoi attendre ? Découvrez les jeux de casino en ligne proposés par 1win au Sénégal dès aujourd’hui et commencez à jouer dès maintenant !

Les méthodes de paiement sécurisées sur le nouveau casino 1win au Sénégal

Jouez en toute sécurité sur le nouveau casino 1win au Sénégal en utilisant des méthodes de paiement fiables. Le casino 1win propose une variété d’options de paiement, y compris les cartes de crédit et de débit, les portefeuilles électroniques et les virements bancaires. Les transactions sont sécurisées grâce à un cryptage SSL avancé, garantissant la protection de vos données personnelles et financières. Vous pouvez également utiliser des méthodes de paiement locales telles que Orange Money et Wari pour des dépôts et des retraits faciles. Le casino 1win s’engage à offrir une expérience de jeu en ligne sûre et agréable à tous les joueurs sénégalais. Rejoignez dès maintenant le casino 1win et découvrez un monde de divertissement et de gains potentiels!

Avis positif de Mouhamadou, 28 ans :

J’ai récemment découvert le nouveau casino 1win et je suis ravi de partager mon expérience positive. Le processus d’inscription est simple et rapide, et le site est facile à naviguer. J’ai été agréablement surpris par la variété des jeux proposés, y compris les machines à sous, le blackjack, la roulette et le poker. Les graphismes sont nets et les fonctionnalités sont conviviales. J’ai également apprécié les promotions et les bonus offerts, ce qui m’a permis de jouer plus longtemps et d’augmenter mes chances de gagner. Dans l’ensemble, je recommande vivement le casino 1win aux joueurs en ligne du Sénégal.

Avis neutre de Aïssatou, 35 ans :

J’ai récemment essayé le nouveau casino 1win en ligne depuis le Sénégal. L’inscription a été facile et rapide, et le site est bien organisé. J’ai trouvé une variété de jeux, y compris des machines à sous, du blackjack, de la roulette et du poker. Les graphismes sont bons et les fonctionnalités sont conviviales. Cependant, je n’ai pas encore gagné beaucoup d’argent, donc je ne peux pas vraiment commenter sur les gains. Les promotions et les bonus sont intéressants, mais je ne suis pas sûr de l’avantage à long terme. Dans l’ensemble, c’est un casino en ligne décent, mais je dois encore décider si je vais continuer à y jouer.

Découvrez le Nouveau Casino 1win : Jouez en Ligne depuis le Sénégal

Avez-vous déjà entendu parler du nouveau casino en ligne 1win disponible au Sénégal ?

Voici quelques réponses à vos questions les plus fréquentes sur cette plateforme de jeu en ligne.

Qu’est-ce que 1win casino le Casino 1win et en quoi est-il différent des autres casinos en ligne ?

Comment puis-je m’inscrire et commencer à jouer sur Casino 1win depuis le Sénégal ?

Design and Develop by Ovatheme